<!-- Giscus -->
<!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration -->
<div id="feedback" style="display: none;">
    <h2 id="__comments">Feedback</h2>
    <script src="https://giscus.app/client.js"
        data-repo="mkdocstrings/mkdocstrings"
        data-repo-id="MDEwOlJlcG9zaXRvcnkyMjY5MzY0MTY="
        data-category="Documentation"
        data-category-id="DIC_kwDODYbGYM4ChKXy"
        data-mapping="pathname"
        data-strict="1"
        data-reactions-enabled="0"
        data-emit-metadata="0"
        data-input-position="top"
        data-theme="preferred_color_scheme"
        data-lang="en"
        data-loading="lazy"
        crossorigin="anonymous"
        async>
    </script>

    <!-- Synchronize Giscus theme with palette -->
    <script>
        var giscus = document.querySelector("script[src*=giscus]")

        // Set palette on initial load
        var palette = __md_get("__palette")
        if (palette && typeof palette.color === "object") {
            var theme = palette.color.scheme === "slate"
                ? "transparent_dark"
                : "light"

            // Instruct Giscus to set theme
            giscus.setAttribute("data-theme", theme)
        }

        // Register event handlers after documented loaded
        document.addEventListener("DOMContentLoaded", function() {
            var ref = document.querySelector("[data-md-component=palette]")
            ref.addEventListener("change", function() {
                var palette = __md_get("__palette")
                if (palette && typeof palette.color === "object") {
                    var theme = palette.color.scheme === "slate"
                        ? "transparent_dark"
                        : "light"

                    // Instruct Giscus to change theme
                    var frame = document.querySelector(".giscus-frame")
                    frame.contentWindow.postMessage(
                        { giscus: { setConfig: { theme } } },
                        "https://giscus.app"
                    )
                }
            })
        })
    </script>
</div>